#ifndef __I264E_FRAME_H__
#define __I264E_FRAME_H__

#include <i264e_ratecontrol.h>

typedef struct {
	int			i_frame;
	int			i_poc;
	int			i_delta_poc[2];
	int			i_qpplus1;
	uint64_t	i_pts;
	uint64_t	i_dts;
	int64_t		timestamp;
	int			i_pic_struct;
	i264e_sei_t	extra_sei;
	void		*opaque;
	int			b_force_idr;

	int			i_csp;
	pixel		*plane[2];
	int			i_width[2];
	int			i_lines[2];
	int			i_stride[2];

	i264e_hrd_t	hrd_timing;
	i264e_rc_middata_t rc_middata;

	/*---only for T30 ncu context start----*/
	bool		b_use_ncu;
	c_ncu_frame_info_t *ncu_frame_info;
	/*---only for T30 ncu context end----*/
	bool		b_use_aezone;
	c_ae_zone_info_t *ae_zone_info;
} i264e_frame_t;

extern int i264e_update_fenc(i264e_t *h, i264e_frame_t *fenc, i264e_pic_t *src);

#endif
